package collection;

import java.sql.SQLOutput;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

/**
 * @author Huangjin
 * @version 1.0
 * describe:List集合的演示
 * @date 2023/3/3 9:35
 */
public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("One");
        list.add("Two");
        list.add("Three");
        list.add("Four");
        list.add("Five");
        System.out.println("list:"+list);
        //E get(int index):获取指定下标所对应的元素
        String e = list.get(2);
        System.out.println(e);
        for (String s : list) {
            System.out.print(s);
        }
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i));
        }
        Iterator<String> it = list.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        System.out.println("======================================");
        //E set(int index,E e):将给定元素设置到指定位置，返回被替换的元素---一般不接受
        //list.set(2,"six");//将list中下标为2的元素设置为six---常规用法
        //将list中下标为2的元素设置为six，同时将原数据返回old
        String old = list.set(2,"Six");
        System.out.println("list:"+list);
        System.out.println(old);

        //E remove(int index):删除指定位置元素，并返回指定位置元素
        //list。remove(2);//删除下标为2的元素--常规用法
        String s = list.remove(2);
        System.out.println("list:"+list);
        System.out.println(s);

        /*
            void add(int index, E e):
            将给定元素e添加到index所制定的位置，相当于插入操作
         */
        //在list下标为3的位置插入Seven
        list.add(3,"Seven");
        System.out.println(list);
    }
}
